# 本地网页文件的信息爬取
from bs4 import BeautifulSoup # 导入bs库
path = './web/index.html'  #本地网页文件的路径

with open(path, 'r') as web_data: # 使用with open打开本地文件
    soup = BeautifulSoup(web_data, 'lxml') # 使用BeautifulSoup对网页内容进行解析
    #print(soup)  # 打印解析后的文件内容

titles = soup.select(" div.caption > h4 > a") #获取所有商品名称
images = soup.select(" div > img") #获取所有商品图片
reviews = soup.select(" div.caption > p") #获取所有商品评论
prices = soup.select("div.caption > h4.pull-right") #获取所有商品的价格
stars = soup.select("  div.ratings > p:nth-of-type(2)") #获取所有商品的评价等级,注意是第二个子元素

for title, image, review, price, star in zip(titles, images, reviews, prices, stars):  # 使用for循环,把每个元素装到字典中
    data = {
        'title': title.get_text(), # 使用get_text()方法取出文本
         'image': image.get('src'), # 使用get 方法取出带有src的图片链接
         'review': review.get_text(), # 使用get_text()方法取出文本
         'price': price.get_text(),# 使用get_text()方法取出文本
         'star': len(star.find_all("span", class_='glyphicon glyphicon-star'))    #  每一个星星会有一次<span class="glyphicon glyphicon-star"></span>,统计出现多少次,就知道有多少个星星了
     }
    print(data)
